package com.hello.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.hello.common.core.annotation.Excel;
import com.hello.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 告警处理记录对象 alarm_handle_log
 * 
 * @author hello
 * @date 2025-09-09
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class AlarmHandleLog extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 处理ID */
    private Long handleId;

    /** 告警ID */
    @Excel(name = "告警ID")
    private Long alarmId;

    /** 处理动作(confirm=确认/ignore=忽略/resolve=解决/escalate=升级) */
    @Excel(name = "处理动作(confirm=确认/ignore=忽略/resolve=解决/escalate=升级)")
    private String handleAction;

    /** 处理人 */
    @Excel(name = "处理人")
    private String handlePerson;

    /** 处理内容 */
    @Excel(name = "处理内容")
    private String handleContent;

    /** 处理结果 */
    @Excel(name = "处理结果")
    private String handleResult;

    /** 处理时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "处理时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date handleTime;

    /** 是否需要跟进(0=否,1=是) */
    @Excel(name = "是否需要跟进(0=否,1=是)")
    private String followUpRequired;

    /** 跟进截止时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "跟进截止时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date followUpDeadline;

    public void setHandleId(Long handleId) 
    {
        this.handleId = handleId;
    }

    public Long getHandleId() 
    {
        return handleId;
    }
    public void setAlarmId(Long alarmId) 
    {
        this.alarmId = alarmId;
    }

    public Long getAlarmId() 
    {
        return alarmId;
    }
    public void setHandleAction(String handleAction) 
    {
        this.handleAction = handleAction;
    }

    public String getHandleAction() 
    {
        return handleAction;
    }
    public void setHandlePerson(String handlePerson) 
    {
        this.handlePerson = handlePerson;
    }

    public String getHandlePerson() 
    {
        return handlePerson;
    }
    public void setHandleContent(String handleContent) 
    {
        this.handleContent = handleContent;
    }

    public String getHandleContent() 
    {
        return handleContent;
    }
    public void setHandleResult(String handleResult) 
    {
        this.handleResult = handleResult;
    }

    public String getHandleResult() 
    {
        return handleResult;
    }
    public void setHandleTime(Date handleTime) 
    {
        this.handleTime = handleTime;
    }

    public Date getHandleTime() 
    {
        return handleTime;
    }
    public void setFollowUpRequired(String followUpRequired) 
    {
        this.followUpRequired = followUpRequired;
    }

    public String getFollowUpRequired() 
    {
        return followUpRequired;
    }
    public void setFollowUpDeadline(Date followUpDeadline) 
    {
        this.followUpDeadline = followUpDeadline;
    }

    public Date getFollowUpDeadline() 
    {
        return followUpDeadline;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("handleId", getHandleId())
            .append("alarmId", getAlarmId())
            .append("handleAction", getHandleAction())
            .append("handlePerson", getHandlePerson())
            .append("handleContent", getHandleContent())
            .append("handleResult", getHandleResult())
            .append("handleTime", getHandleTime())
            .append("followUpRequired", getFollowUpRequired())
            .append("followUpDeadline", getFollowUpDeadline())
            .toString();
    }
}
